#ifndef GUIMANAGER_H
#define GUIMANAGER_H

#include <OIS.h>
#include <CEGUI.h>
#include <RendererModules/Ogre/CEGUIOgreRenderer.h>
#include <ScriptingModules/LuaScriptModule/CEGUILua.h>

class GUIManager : public OIS::KeyListener, public OIS::MouseListener
{
public:
	GUIManager();
	void initialise();
	bool executeScript(std::string script);
	void update(float t);
	void setWindowSize(int w, int h);
protected:
	bool keyPressed(const OIS::KeyEvent &evt);
	bool keyReleased(const OIS::KeyEvent &evt);
	bool mouseMoved(const OIS::MouseEvent &evt);
	bool mousePressed(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
	bool mouseReleased(const OIS::MouseEvent &evt, OIS::MouseButtonID id);
	CEGUI::MouseButton convertMouseButton(OIS::MouseButtonID id);
private:
	CEGUI::OgreRenderer *guiRenderer;
	CEGUI::System *guiSystem;
};

#endif